Dynamic transmitter power control for magnetic tracker

ABSTRACT

A system determines the transmission strength of the magnetic field signal. The magnetic field signal is transmitted from a first magnetic-sensor device to a second magnetic-sensor device. The system then determines a first projected distance between the first magnetic-sensor device and the second magnetic-sensor device. Based at least in part on the first projected distance, the system calculates an adjusted transmission strength for the magnetic field signal. The system then causes the first magnetic-sensor device to transmit an adjusted magnetic field signal. The adjusted magnetic field signal comprises the adjusted transmission strength. The system receives, from the second magnetic-field device, the adjusted magnetic field signal. Based at least in part upon the received adjusted magnetic field signal, the system, computes a first pose of the first magnetic-sensor device in relation to the second magnetic-sensor device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/586,459, entitled “DYNAMIC TRANSMITTER POWER CONTROL FOR MAGNETICTRACKER”, filed on May 4, 2017, which claims priority to and the benefitof U.S. Application Ser. No. 62/438,314 entitled “DYNAMIC TRANSMITTERPOWER CONTROL FOR MAGNETIC TRACKER”, filed on Dec. 22, 2016, both ofwhich are incorporated herein by reference in their entirety.

BACKGROUND

Computers and computing systems have impacted nearly every aspect ofmodern living. Computers are generally involved in work, recreation,healthcare, transportation, entertainment, household management, etc.

Mixed-reality computer systems, including virtual-reality systems andaugmented-reality systems, have recently received significant interestfor their ability to create immersive experiences for users.Conventional augmented-reality systems create an augmented realityscenario by visually presenting virtual objects in the real world. Incontrast, conventional virtual-reality systems create a more immersiveexperience such that a user's entire view is obstructed by a virtualworld. As used herein, mixed-reality, augmented-reality, andvirtual-reality systems are described and referenced interchangeably. Ingeneral, however, “mixed-reality” will be used to broadly describe thevarious technologies. Unless specifically stated or unless specificallyrequired, as understood by one of skill in the art, the descriptionsherein apply equally to any type of mixed-reality system, includingaugmented-reality systems, virtual-reality systems, and/or any othersimilar system capable of displaying virtual objects to a user.

Continued advances in hardware capabilities and rendering technologieshave greatly increased the realism of virtual objects and scenesdisplayed to a user within a mixed-reality environment. For example, inmixed-reality environments, virtual objects can be placed within thereal world in such a way as to give the impression that the virtualobject is part of the real world. As a user moves around within the realworld, the mixed-reality environment automatically updates so that theuser is provided with the proper perspective and view of the virtualobject; this mixed-reality environment is referred to as a scene.

Immersing a user into a mixed-reality environment creates manychallenges and difficulties that extend beyond the mere presentation ofa scenario to a user. For example, there is significant interest in thefield regarding technologies that allow a user to interact with virtualobjects in a mixed-reality scenario. Various systems and methods areused to provide this interactive ability to the users.

The subject matter claimed herein is not limited to embodiments thatsolve any disadvantages or that operate only in environments such asthose described above. Rather, this background is only provided toillustrate one exemplary technology area where some embodimentsdescribed herein may be practiced.

BRIEF SUMMARY

Disclosed embodiments include systems, methods, and computer-readablemedia for dynamically modifying a transmission strength of a magneticfield signal. An exemplary system determines the transmission strengthof the magnetic field signal. The magnetic field signal beingtransmitted from a first magnetic-sensor device to a secondmagnetic-sensor device. The system then determines a first projecteddistance between the first magnetic-sensor device and the secondmagnetic-sensor device. Based at least in part on the first projecteddistance, the system calculates an adjusted transmission strength forthe magnetic field signal. The system then causes the firstmagnetic-sensor device to transmit an adjusted magnetic field signal.The adjusted magnetic field signal comprises the adjusted transmissionstrength. The system receives, from the second magnetic-field device,the adjusted magnetic field signal. Based at least in part upon thereceived adjusted magnetic field signal, the system computes a firstpose of the first magnetic-sensor device in relation to the secondmagnetic-sensor device.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Additional features and advantages will be set forth in the descriptionthat follows, and in part will be obvious from the description, or maybe learned by the practice of the teachings contained herein. Featuresand advantages of the invention may be realized and obtained by means ofthe instruments and combinations particularly pointed out in theappended claims. These and other objects and features of the presentinvention will become more fully apparent from the following descriptionand appended claims, or may be learned by the practice of the inventionas set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

To further clarify the above and other advantages and features of thepresent invention, a more particular description of the invention willbe rendered by reference to specific embodiments thereof which areillustrated in the appended drawings. It is appreciated that thesedrawings depict only illustrated embodiments of the invention and aretherefore not to be considered limiting of its scope. The invention willbe described and explained with additional specificity and detailthrough the use of the accompanying drawings in which:

FIG. 1 illustrates a schematic diagram of an embodiment of amixed-reality system and associated devices.

FIG. 2 illustrates an embodiment of mixed-reality devices being used bya user.

FIG. 3 illustrates a schematic diagram of an embodiment of mixed-realitydevices communicating with each other.

FIG. 4 illustrates a schematic diagram of another embodiment ofmixed-reality devices communicating with each other.

FIG. 5A illustrates an embodiment of spatial input devices communicatingwithin a mixed-reality environment.

FIG. 5B illustrates another embodiment of spatial input devicescommunicating within a mixed-reality environment.

FIG. 6 illustrates steps in an exemplary method that can be followed todynamically modify a transmission strength of a magnetic field signal.

DETAILED DESCRIPTION

Embodiments disclosed herein include systems, computer-readable media,and methods for dynamically modifying a transmission strength of amagnetic field signal. In at least one disclosed embodiment, amixed-reality system adjusts a transmission strength of a magnetic fieldsignal based upon a distance between the magnetic field transmitter andthe magnetic field signal. Various additional or alternative embodimentsaccount for additional variables when adjusting the transmissionstrength of the magnetic field signal. In at least one embodiment, theability to dynamically adjust the transmission strength of the magneticfield signal allows mixed-reality systems to optimize battery life whileminimizing bandwidth congestion for other magnetic field sensors.

Disclosed embodiments overcome many deficiencies prevalent throughoutthe conventional technology. For example, disclosed embodiments provideaccurate pose data while at the same time optimizing battery life. Asmixed-reality systems become increasingly mobile, there will be growingpressure to reduce the weight and size of the mixed-reality system. Inmany systems, batteries are a major addition to the overall bulk andweight of the mixed-reality system. As battery size shrinks toaccommodate smaller, lighter systems, there will be a growing need toprovide methods and systems that extend the battery life of componentswithin the mixed-reality system.

The following discussion may refer to a number of methods and methodacts that may be performed. Although the method acts may be discussed ina certain order or illustrated in a flow chart as occurring in aparticular order, no particular ordering is required unless specificallystated, or required, because an act is dependent on another act beingcompleted prior to the act being performed.

Initially, FIG. 1 illustrates a schematic diagram of an embodiment of amixed-reality system 100 that is in communication with a first magneticsensor device 160, a second magnetic sensor device 162, a spatial inputdevice 170, a network 180, and a server 190. As used herein, a spatialinput device comprises any device that uses spatial positioning and/ormotion of a user to gather input. As such, the first magnetic sensordevice 160 and the second magnetic sensor device 162 are examples ofspatial input devices. Other examples of spatial input devices include,but are not limited to, a camera, an inertial measurement unit (“IMU”),a LIDAR, a GPS unit, accelerometers, gyroscopes, sonars, depth sensors,and other devices capable of capturing position and/or motion data froma user. In many cases herein, a particular type of spatial input devicewill be recited, but it should be understood that a more general spatialinput device could be interchangeably used. One will appreciate that thevarious modules, components, and devices shown in FIG. 1 and throughoutthis application are provided for the sake of example and explanation.In additional or alternate embodiments, the mixed-reality system 100 mayinclude a different combination of modules, components, and devices.

As used herein, “magnetic-sensor devices” and “on-body devices” are usedinterchangeably. More specifically, on-body devices are used as examplesof magnetic sensor devices that can be configured to perform variousembodiments disclosed herein. One will appreciate that the scope ofembodiments disclosed herein is not limited to particular forms ordevices, but can, instead, be implemented in a variety of differentembodiments that extend beyond on-body devices. Additionally, as usedherein, a secondary communication channel comprises a communicationchannel other than the measurement of magnetic field to determine pose.For example, the secondary communication channel may comprise BLUETOOTH,WIFI, or any other communication standard that allows for the two-waytransfer of data. Additionally, as used herein a magnetic sensor devicecomprises a device that is capable of emitting and/or receiving magneticfield signals.

The depicted mixed-reality system 100 includes one or more processor(s)120 and memory 110. The one or more processor(s) 120 and memory 110 maybe representative of hardware components and/or software components. Themixed-reality system 100 also includes a sensor I/O module 130, a posecomputing module 140, and a network I/O module 150. In at least oneembodiment, the sensor I/O module 130 communicates with one or morespatial input devices that provide sensor information useful forgenerating a mixed-reality environment. The one or more spatial inputdevices comprise spatial input device 170, first magnetic sensor device160, and second magnetic sensor device 162. The first magnetic sensordevice 160 and the second magnetic sensor device 162 are configured totrack a pose of a user within a mixed-reality environment. The sensorI/O module 130 may also communicate with one or more cameras, depthsensors, LIDARs, accelerometers, gyroscopes, sonars, and any othersensors useful within a mixed-reality environment.

The first magnetic sensor device 160 may be embedded within amixed-reality headset and the second magnetic sensor device 162 may beembedded within a handheld controller. As the user moves the handheldcontroller around within the mixed-reality environment, themixed-reality system 100 causes the first magnetic sensor device 160 totransmit a known magnetic field signal. The mixed-reality system 100also causes the second magnetic sensor device 162, within the handheldcontroller, to measure variations in the magnetic field signal as thehandheld controller is moved between different positions. The secondmagnetic sensor device 162 communicates these measured variations to thesensor I/O module 130. The one or more processor(s) 120 are then able todetermine the relative measured variations. One will appreciate that inat least one embodiment the second magnetic sensor device 162 generatesmagnetic field signals that the first magnetic sensor device 160receives.

In various additional or alternative embodiments, the mixed-realitysystem 100 also utilizes spatial input device 170 to track the relativepose of the user within the mixed-reality environment. For example, themixed-reality system 100 may utilize a spatial input device 170 in theform of a camera to track the pose of the handheld controller, and inturn the second magnetic sensor device 162. For example, whenever thehandheld controller is within the field-of-view of the camera, thecamera may track specific points (e.g., reflectors) that are placed onthe handheld controller. Similarly, the handheld controller may comprisea spatial input device 170 in the form of an IMU that is able to alsoprovide motion and tracking data relating to the handheld controller.The pose computing module 140 is capable of choosing to rely upon aparticular sensor for computing pose or to rely upon a combination ofmultiple sensors to compute pose. As such, in at least one embodiment,the pose computing module 140 can gather pose data from the handheldcontroller using the integrated second magnetic sensor device 162, anintegrated IMU, an external camera, and/or any number of other differentspatial input devices.

In at least one embodiment, the network I/O module 150 communicates withthe server 190 through a network 180. The network I/O module 150receives data that is associated with the particular mixed-realityenvironment that the user is within and, in some cases, receives datarelated to other mixed-reality systems that are in the vicinity ofmixed-reality system 100. For example, the mixed-reality system 100 mayreceive an indication that another mixed-reality system is being used inthe same room. The indication may also comprise information about thecurrent state of the other mixed-reality system's sensors andcommunication states. Using this information, the mixed-reality system100 can adjust the output of various spatial input devices to optimizethe performance of the mixed-reality system.

FIG. 2 illustrates an embodiment of mixed-reality devices being used bya user 200. The mixed-reality system depicted in FIG. 2 includes ahead-mounted display (“HMD”) 210 positioned on a user 200. In thedepicted embodiment, the HMD 210 is associated with a mixed-realtysystem 100 like that described in FIG. 1. Additionally, the HMD 210includes at least one sensor unit 212 that gathers sensor informationrelating to the mixed-reality environment. One of skill in the art willrecognize that the depicted system can analogously be used withinmixed-reality, augmented reality, virtual reality, or any other similarendeavor.

FIG. 2 also depicts a handheld controller 220. The handheld controller220 comprises one or more integrated spatial input devices. AlthoughFIG. 2 illustrates only a single handheld controller 220, embodiments ofthe present invention are not limited solely to those devices depictedin FIG. 2. For instance, embodiments of the present invention can beconfigured to simultaneously utilize many on-body devices. Even further,the on-body devices need not merely be handheld or head-mounted. Forinstance, embodiments of the present invention can be configured toutilize any type of on-body device (e.g., a device mounted on a user'sfoot, a device mounted on a user's torso, etc.). Additionally,embodiments disclosed herein can also be practiced outside ofmixed-reality environments. For example, a user may control aconventional computer using systems, methods, and apparatuses disclosedherein.

The handheld controller 220 may include one or more IMUs. Bymanipulating the handheld controller 220, the user 200 can interact withthe mixed-reality environment and provide user input to the HMD 210.This input can include, for example, controlling and moving virtualobjects included within the mixed-reality scenario. A wide variety ofuser input can be provided. Accordingly, FIG. 2 presents a wearablemixed-reality system 100 that utilizes handheld and head-mounteddevices. Together, these devices (i.e. the HMD 210 and the handheldcontroller 220) enable a user to precisely and rapidly control themixed-reality computing system.

On-body devices, such as the handheld controller 220 depicted in FIG. 2,comprise magnetic sensor devices that use a magnetic field signal toallow measurement of the pose of the handheld controller 220 withrespect to a sensor unit 212 in the HMD 210. In at least one embodiment,the magnetic field signal, the HMD 210, and the handheld controller 220work in unison to determine how the handheld controller 220 isoriented/situated in relation to the HMD 210 (i.e. its “pose”).Determining the handheld device's pose with respect to the HMD 210enhances the mixed-reality scenario that is presented to the user 200.

For instance, suppose the mixed-reality computing system 100 presents ascenario in which a user 200 has a virtual object (e.g., a gun, laser,watch, etc.) attached to his/her arm. This scenario may be designed toallow the user 200 to use the virtual object to advance through stagesof the scenario (e.g., perhaps the user is to use the gun to fightvillains). As a result, the user 200 will move and interact with theimages depicted in the scenario. The virtual object should move inunison with the user's movements. Indeed, to provide an enhancedexperience, the virtual object should follow the user's specific armmovements. Accordingly, accurate pose positioning of the virtual object(which is accomplished through the communications between the HMD 210and the handheld controller 220) will better enable the user 200 toadvance through the various stages of the scenario.

FIG. 3 provides a high-level overview of how the mixed-reality computingsystem determines an on-body device's pose. For instance, FIG. 3illustrates a schematic diagram of an embodiment of spatial inputdevices communicating with each other. In the depicted embodiment, themixed-reality system 100 operates by having at least one of the spatialinput devices (e.g., the HMD 210) transmit a magnetic field signal 300.While the HMD 210 is transmitting the magnetic field signal 300, adifferent spatial input device (e.g., the handheld controller 220) willmeasure the received magnetic field signal. The pose of the on-bodydevice (e.g., the handheld controller 220) can then be computed usingthe near field fall off relationship and the measured characteristics ofthe magnetic field signal 300.

FIG. 3 also illustrates that a secondary communication channel 310 canbe maintained between the two devices. The secondary communicationchannel 310 is used to communicate data between the two devices and tosynchronize other communications between the various devices of themixed-reality system 100. The secondary communication channel 310 may bedifferent than the channels used to transmit the magnetic field signal.For instance, the secondary communication channel 310 can be in the formof a BLUETOOTH™ channel.

FIG. 4 presents an alternative depiction of the spatial input devices ofa mixed-reality system 100. For instance, FIG. 4 illustrates a schematicdiagram of another embodiment of spatial input devices communicatingwith each other. In particular, a transmitter 400 is depicted emitting amagnetic field signal 420 to a receiver 410. The transmitter 400 may beembedded within an HMD 210. The receiver 410 may be embedded within ahandheld controller 220. In at least one additional or alternativeembodiment, the HMD 210 and/or the handheld controller 220 comprisesmagnetic transceivers that are capable of both emitting and receivingmagnetic field signals.

Although not shown in the figures, the HMD 210 (and even the otheron-body devices) may include other spatial input devices as well. Toillustrate, the HMD 210 can include one or more cameras (e.g., colorand/or black and white), depth sensors, infrared sensors,accelerometers, gyroscopes, magnetometers, etc. These other spatialinput devices can be used for a variety of reasons. By way of exampleand not limitation, the spatial input devices of the mixed-realitysystem 100 can be used to detect objects in an environment in which thesystem is being operated. Not only can the mixed-reality system 100 usethe spatial input devices to detect the objects, the mixed-realitysystem 100 can also use the spatial input devices in an attempt toidentify what those objects actually are.

For instance, suppose the user 200 from FIG. 2 was using themixed-reality system 100 in a living room. Most living rooms have avariety of objects included therein (e.g., couches, tables, lamps,etc.). Using its spatial input devices, the mixed-reality system 100detects and identifies those living room objects. Even further, themixed-reality system 100 can use those objects to develop and present amixed-reality scenario to the user 200 (e.g., the mixed-reality system100 can show the couch as being on fire, or a villain breaking through awall).

As suggested above, the on-body devices (e.g., the handheld controller220 from FIG. 2) can also include these spatial input devices. As aresult, the HMD 210 and the various on-body devices can be used tounderstand the environment and to create a working model of thatenvironment. Once this model is created, the mixed-reality system 100tracks the objects and uses the environment to create a bettermixed-reality scenario. As indicated before, a depth sensor can be usedto understand depth of objects in the environment and can facilitate inthe process of identifying what those objects are. Accordingly, usingits spatial input devices, a mixed-reality system 100 can generate aworking model of an environment and use that model to enhance anymixed-reality scenarios.

While the above discussion focused on the use of on-body devices (e.g.,the HMD 210 and handheld device 220) to transmit and receive themagnetic field signal, different embodiments of the present inventioncan utilize other spatial input devices to transmit and receive themagnetic field signal. Indeed, some situations may desire greaterflexibility in determining which spatial input devices are used totransmit or receive the magnetic field signal. For instance, instead ofan on-body device or the HMD 210 transmitting the magnetic field signal,a tablet or other computing system may be used to transmit the signal.

For example, a user within a mixed-reality environment may be using adrafting program to design an engine. At different portions of thedesign process, it may be beneficial to seamlessly switch frominteracting with a three-dimensional model within the mixed-realityenvironment to working on the computer in a two-dimensional model. In atleast one embodiment, a handheld controller 220 transmits magnetic fieldsignals to an HMD 210 while the user is working on the three-dimensionalmodel. The handheld controller 220 then automatically begins to receivemagnetic field signals generated by the computer when the user isworking on the two-dimensional model. As such, the user can utilize thesame handheld controller 220 to interact with both the three-dimensionalmodel via the HMD 210 and the two-dimensional model on the computer.

In at least one embodiment, the mixed-reality system 100 optimizes thequality of a received magnetic field signal by adjusting the transmitpower of the magnetic field signal based on the distance between twomagnetic sensor devices (e.g., a handheld controller 220 and the HMD210). By dynamically controlling the transmit power of the magneticfield signal, the mixed-reality computing system 100 can optimize thepower required to generate an acceptable magnetic field signal thatallows for an accurate pose calculation of the handheld device 220 withrespect to the HMD 210.

In at least one embodiment, maintaining a constant strength transmissionsignal has a number of problems associated with it. For instance, when areceiver (e.g., HMD 210) is placed too close to the transmitter (e.g.,handheld controller 220), the received signal may become saturated andresult in unwanted distortion. This distortion could prevent themixed-reality system 100 from calculating an accurate pose of eitherspatial input device. In contrast, when the receiver is too far from thetransmitter, the received signal might be too weak to provide accuratedata and can also result in inaccurate pose calculation. The receivedsignal could be weak due to the noise ratio in the signal being too highand/or performance limitations in the receiver circuitry.

To avoid the problems discussed above (e.g., saturation of the signal,poor signal to noise ratio, transmission exposure limitations, etc.),the mixed-reality system 100 dynamically controls the magnetic fieldsignal's transmission power. Controlling this power will be influencedby a number of different factors. By way of example and not limitation,the following factors may be considered in determining how to adjust andcontrol the transmission signal: the measurement of the received signal,the measurement of the signal to noise ratio of the received signal, themeasurement of other transmitters (which can then be compared with thecurrent measurement), and data collected from other sensors (e.g., datacollected from the cameras, depth sensors, infrared sensors, IMUsensors, etc.).

FIGS. 5A and 5B illustrates different embodiments of spatial inputdevices communicating within a mixed-reality environment. In particular,both figures depict an HMD 210 transmitting magnetic field signals 500,520 to a handheld controller 220. The magnetic field signals 500, 520comprise different transmission strengths. The particular transmissionstrengths are determined using methods described herein.

Turning to FIG. 5A specifically, in at least one embodiment, themixed-reality system 100 (shown in FIG. 1) determines the transmissionstrength of the magnetic field signal 500. The magnetic field signal 500is being transmitted from a first magnetic-sensor device within the HMD210 to a second magnetic-sensor device within the handheld controller220. The transmission strength may be determined by the handheldcontroller 220 and then communicated to the one or more processor(s) 120in the mixed-reality system 100, or the mixed-reality system 100 mayreceive raw readings from the handheld controller 220, which themixed-reality system 100 translates into a transmission strength.

In at least one embodiment, the mixed-reality system also determines afirst projected distance 520

between the HMD 210 and the handheld controller 220. The projecteddistance 510 in FIG. 5A is depicted as comprising a length of 6. Themixed-reality system may calculate the projected distance 510 using thestrength of the received magnetic field signal. In particular, themixed-reality system may calculate the projected distance 500 based uponthe amount of signal fall-off between the known transmission strengthand the measured receive strength.

In alternative or additional embodiments, the mixed-reality system 100utilizes data from other sensors to determine the projected distance 510between the HMD 210 and the handheld controller 220. For example, themixed-reality system may receive image data from a camera that isuseable to determine the projected distance 510. Similarly, themixed-reality system 100 may receive data from an IMU indicating a rateand direction at which the HMD 210 and the handheld controller 220 arebeing moved. The mixed-reality system 100 then calculates the projecteddistance 510 using this data. One will appreciate that these specificsensors are provided only for the sake of example and clarity and thatthere are several other sensors that can be used to measure relativedistance between the HMD 210 and the handheld controller 220.

Once the mixed-reality system 100 has determined a projected distance500, the mixed-reality system 100 calculates an adjusted transmissionstrength for the magnetic field signal based at least in part on theprojected distance 510. For example, the projected distance in FIG. 5Ais represented by a length of δ. In contrast, the projected distance 530in FIG. 5B is represented by a length of 2δ, or twice the length ofprojected distance 500. Based upon the increase in distance betweenprojected distance 500 and projected distance 530, the mixed-realitysystem calculates an adjusted transmission strength that comprises anincrease in transmission power. The increased power should increase thesignal's ability to coherently travel the longer projected distance 530.

The mixed-reality system 100 then causes the first magnetic-sensordevice within the HMD 210 to transmit an adjusted magnetic field signal520 that comprises the adjusted transmission strength. For example, FIG.5B depicts the first magnetic-sensor device within the HMD 210transmitting the adjusted magnetic field signal 520 to the handheldcontroller 220. The mixed-reality system 100 receives, from the secondmagnetic-field device, the adjusted magnetic field signal 520. Based atleast in part upon the received adjusted magnetic field signal 520, themixed-reality system 100 computes a pose of the first magnetic-sensordevice in relation to the second magnetic-sensor device.

Accordingly, in at least one embodiment, the mixed-reality system 100optimizes the magnetic field signal 500, 520 by increasing thetransmission strength as distance increases and decreasing thetransmission strength as distance decreases. The ability to dynamicallyadjust the signal transmission strength in this way increases batterylife by transmitting at lower power levels when possible. Additionally,the ability to dynamically adjust the transmission strength of themagnetic field signals helps avoid saturating magnetic-sensor devices.

In addition to optimizing the transmission strength based upon projecteddistance, in at least one embodiment, the mixed-reality system 100 alsodynamically adjusts the signal transmission strength based upon noisewithin the magnetic spectrum. For example, the mixed-reality system 100identifies magnetic noise received by the second magnetic-sensor devicewithin the handheld controller 220. Based at least in part on themagnetic noise, the mixed-reality system 100 calculates the adjustedtransmission strength 520 for the magnetic field signal. For instance,the mixed-reality system 100 increases the signal transmission strengthto overcome a high noise threshold. In contrast, the mixed-realitysystem 100 decreases the signal transmission strength in a low noiseenvironment, in order to preserve battery life.

In at least one embodiment, after collecting data from the variousspatial input device (e.g., HMD 201 and handheld controller 220), themixed-reality system 100 evaluates and weighs the data against the pasthistory of the spatial input devices and/or the transmission strength.For example, based upon a calculated first pose, the mixed-realitysystem 100 calculates a predicted second pose of the firstmagnetic-sensor device within the HMD 210 in relation to the secondmagnetic-sensor device within the handheld controller 220. The secondpose might be predicted based upon historical poses that follow a posesimilar to the first pose. For instance, the first pose may comprise anindication that the handheld device 220 is being held over a user'sshoulder as if the user is preparing to throw. The mixed-reality system100 may then predict that the second pose will be along the standardmotion path of a throw.

Based at least in part on the predicted second pose, the mixed-realitysystem 100 calculates the adjusted transmission strength for themagnetic field signal. For example, the second pose along the standardmotion path of a throw may indicate that the distance between the firstmagnetic-sensor device within the HMD 210 and the second magnetic-sensordevice within the handheld controller 220 is increasing. Accordingly,the mixed-reality system 100 calculates the adjusted transmissionstrength such that the strength increases.

Similarly, in at least one embodiment, the mixed-reality system 100receives an indication of motion from a spatial input device 170 (shownin FIG. 1), such as an IMU, that is associated with the firstmagnetic-sensor device. For example, both the first magnetic-sensordevice and the IMU may be disposed within the HMD 210. As such, when theHMD 210 moves the IMU detects the movements through the use ofaccelerometers and gyroscopes. Based upon the indication of motion, themixed-reality system 100 calculates a second projected distance 530between the first magnetic-sensor device within the HMD 210 and thesecond magnetic-sensor device within the handheld controller 220. Forexample, the mixed-reality system 100 may calculate, based upon thevelocity and acceleration provided by the IMU, the distance that thehandheld controller 220 has travelled. Based at least in part on thesecond projected distance 530, the mixed-reality system 100 calculatesthe adjusted transmission strength for the magnetic field signal.

As suggested, the history of the signal's transmission can be preservedfor later use. This historical data can be used to predict where themagnetic sensor device will next be located. Further, the use of thisdata will help in the development of an appropriate power control level.For example, if the distance between two magnetic sensor devices isincreasing over time, the prediction components of the mixed-realitysystem 100 increase the transmission strength to maintain an appropriatesignal-to-noise ratio. In contrast, if the distance between the twomagnetic sensor devices is decreasing, the mixed-reality system 100decreases the transmission strength.

Adjusting the transmission strength can be accomplished in a variety ofways. By way of example and not limitation, the transmission strengthcan be organized as discrete steps. In at least one embodiment, whenadjusting the transmission strength, the mixed-reality system 100 causesthe transmission strength to traverse through a predetermined discreteset of levels. In other words, the transmission strength can step uplevels (i.e. perpetually increase by a discrete amount) until anappropriate power level is reached.

The mixed-reality system 100 can also be optimized by reducing thenumber of oscillations between discrete power levels. Oscillationsbetween discrete power levels entails the repeated back and forth, orswitching, between power levels when faced with a boundary condition. Toaccomplish this reduction in oscillations, the mixed-reality system 100allows hysteresis to be introduced. The introduction of hysteresisallows the mixed-reality computing system 100 to avoid numerous powerswitching when faced with the above-mentioned boundary condition (e.g.,due to the step-like levels, the system may repeatedly bounce back andforth between power levels).

Additionally, in at least one embodiment, the mixed-reality system 100also calculates an adjustment rate at which the transmission strength ofthe magnetic field is adjusted. For example, if the IMU indicates thatthe handheld controller 220 is being quickly moved away from the HMD210, the mixed-reality system 100 may increase the rate at which thetransmission strength is increased. In contrast, if the IMU indicatesthat the handheld controller 220 is being slowly moved away from the HMD210, the mixed-reality system 100 may decrease the rate at which thetransmission strength is increased.

The mixed-reality system 100 is also capable of adjusting a transmissionstrength based upon the software application that the user isinteracting with. For example, the mixed-reality system 100 may receivea request for a particular input characteristic from a mixed-realitysoftware application that is receiving input from the firstmagnetic-sensor device. The particular input characteristic may compriseinformation relating to a requested input precision. For instance, auser may be interacting with a mixed-reality surgery simulator. Atvarious points during the surgery simulation, it may be desired that thespatial input devices exhibit an extremely high sensitivity to theuser's movements. The mixed-reality surgery simulator communicates thisinput request to the mixed-reality system 100. Based at least in part onthe requested particular input characteristic, the mixed-reality systemcalculates the adjusted transmission strength for the magnetic fieldsignal. For example, the mixed-reality system 100 may significantlyincrease the transmission strength between the HMD 210 and the handheldcontroller 220.

In some embodiments, the process of switching transmission strength isnot an instant process. For instance, when a magnetic sensor devicetransitions from one power level to another, it is possible that theresulting pose data could be corrupted by certain transients that aregenerated during the switch. In at least one embodiment, to mitigatethese transients, the mixed-reality system 100 utilizes data from otherspatial input devices during a transition phase. By using other data,less reliance is placed on the magnetic field signal which results inthe preservation of the pose calculation.

In at least one embodiment, the mixed-reality system 100 characterizesthe dynamics of transition phases during calibration and applies thisinformation to magnetic field signals received during the transition.For example, during a time when the components undergo calibration, themixed-reality system 100 collects and analyzes magnetic field signaldata that was collected when a switch in power levels occurred. Usingthis test data, the mixed-reality system 100 can later correct actualreceived signal data based on the results and analysis of the prior testdata.

Additionally, in at least one embodiment, during a transition phase froma first transmission strength to a second transmission strength, themixed-reality system 100 receives from the first magnetic-sensor devicea set of transmission strengths being emitted by the firstmagnetic-sensor device. For example, during the transition itself, themagnetic sensor device within the HMD 210 communicates signal strengthdata to the mixed-reality system. This signal strength data may comprisethe transients that would otherwise disrupt sensor readings. However,because the mixed-reality system 100 has the signal strength data fromthe HMD 210, the mixed-reality system 100 is able to filter out thetransients and accurately determine a pose.

Now, an exemplary method that enables a mixed-reality system 100 todynamically adjust a transmission power to optimize a signal received bya receiver will be described with respect to FIG. 6.

FIG. 6 presents a method that can be implemented by one or moreprocessors of a computing system. When performed, this methoddynamically modifies the transmission strength of a magnetic fieldsignal in an effort to optimize that signal at a receiver. To that end,the method includes an act (act 610) in which the transmission strengthof the magnetic field signal is determined. This signal is beingtransmitted between a first magnetic-sensor device (e.g., a handhelddevice 220) and a second magnetic-sensor device (e.g., the HMD 210).

The method also includes an act (act 620) in which a projected distancebetween the first magnetic-sensor and the second-sensor device isdetermined. As suggest earlier, this projected distance can bedetermined in a variety of ways (e.g., historical data, sensor data,etc.).

Based on this projected distance, an adjustment to the transmissionsignal strength is calculated (act 630). This adjustment will optimizethe received signal to provide accurate data when calculating theon-body device's pose.

Additionally, the method will cause the first magnetic-sensor device totransmit an adjusted magnetic field signal (act 640). The adjustedmagnetic field signal comprises the adjusted transmission strength. Themethod further includes receiving the adjusted magnetic field signal andcomputing a pose of the magnetic-sensor devices (acts 650 and 660).Because the magnetic-sensor devices will likely be in constant motion,these acts can be repeatedly performed in an effort to preserve theaccuracy of the data used in calculating the device's pose.

Accordingly, described herein are embodiments related to wearablemixed-reality computing systems 100, methods, and computer-readablemedia that dynamically adjust a magnetic field signal's transmissionpower to optimize the reading of that signal at a receiver. The systemmay include various components that are configured to perform theprocesses outlined above.

Further, the methods may be practiced by a computer system including oneor more processors and computer-readable media such as computer memory.In particular, the computer memory may store computer-executableinstructions that when executed by one or more processors cause variousfunctions to be performed, such as the acts recited in the embodiments.

Computing system functionality can be enhanced by a computing systems'ability to be interconnected to other computing systems via networkconnections. Network connections may include, but are not limited to,connections via wired or wireless Ethernet, cellular connections, oreven computer to computer connections through serial, parallel, USB, orother connections. The connections allow a computing system to accessservices at other computing systems and to quickly and efficientlyreceive application data from other computing systems.

Interconnection of computing systems has facilitated distributedcomputing systems, such as the so-called “cloud” computing systems. Inthis description, “cloud computing” may be systems or resources forenabling ubiquitous, convenient, on-demand network access to a sharedpool of configurable computing resources (e.g., networks, servers,storage, applications, services, etc.) that can be provisioned andreleased with reduced management effort or service provider interaction.A cloud model can be composed of various characteristics (e.g.,on-demand self-service, broad network access, resource pooling, rapidelasticity, measured service, etc.), service models (e.g., Software as aService (“SaaS”), Platform as a Service (“PaaS”), Infrastructure as aService (“IaaS”), and deployment models (e.g., private cloud, communitycloud, public cloud, hybrid cloud, etc.).

Cloud and remote based service applications are prevalent. Suchapplications are hosted on public and private remote systems such asclouds and usually offer a set of web based services for communicatingback and forth with clients.

Many computers are intended to be used by direct user interaction withthe computer. As such, computers have input hardware and software userinterfaces to facilitate user interaction. For example, a modern generalpurpose computer may include a keyboard, mouse, touchpad, camera, etc.for allowing a user to input data into the computer. In addition,various software user interfaces may be available.

Examples of software user interfaces include graphical user interfaces,text command line based user interface, function key or hot key userinterfaces, and the like.

Disclosed embodiments may comprise or utilize a special purpose orgeneral-purpose computer including computer hardware, as discussed ingreater detail below. Disclosed embodiments also include physical andother computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arephysical storage media. Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, embodiments of the invention can compriseat least two distinctly different kinds of computer-readable media:physical computer-readable storage media and transmissioncomputer-readable media.

Physical computer-readable storage media includes RAM, ROM, EEPROM,CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry program code in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above are also included within the scope of computer-readablemedia.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission computer-readablemedia to physical computer-readable storage media (or vice versa). Forexample, computer-executable instructions or data structures receivedover a network or data link can be buffered in RAM within a networkinterface module (e.g., a “NIC”), and then eventually transferred tocomputer system RAM and/or to less volatile computer-readable physicalstorage media at a computer system. Thus, computer-readable physicalstorage media can be included in computer system components that also(or even primarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which cause a general-purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. The computer-executable instructions may be, forexample, binaries, intermediate format instructions such as assemblylanguage, or even source code. Although the subject matter has beendescribed in language specific to structural features and/ormethodological acts, it is to be understood that the subject matterdefined in the appended claims is not necessarily limited to thedescribed features or acts described above. Rather, the describedfeatures and acts are disclosed as example forms of implementing theclaims.

Those skilled in the art will appreciate that the invention may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, pagers, routers, switches, and the like. The invention may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Alternatively, or in addition, the functionality described herein can beperformed, at least in part, by one or more hardware logic components.For example, and without limitation, illustrative types of hardwarelogic components that can be used include Field-programmable Gate Arrays(FPGAs), Program-specific Integrated Circuits (ASICs), Program-specificStandard Products (ASSPs), System-on-a-chip systems (SOCs), ComplexProgrammable Logic Devices (CPLDs), etc.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A head-mounted device (HMD) comprising: awearable display; a magnetic field transceiver; a processor; and acomputer-readable hardware storage device having stored thereoncomputer-executable instructions that are executable by the processor tocause the HMD to perform at least the following: cause the magneticfield transceiver to transmit a magnetic field signal to a remotemagnetic field transceiver; receive, from the remote magnetic fieldtransceiver, a response to the magnetic field signal; and based on thereceived response, compute a pose of the remote magnetic fieldtransceiver with respect to the HMD.
 2. The HMD of claim 1, whereinexecution of the computer-executable instructions further causes the HMDto: identify magnetic noise associated with the transmitted magneticfield signal; and based at least in part on the magnetic noise,calculate a transmission strength for the magnetic field signal.
 3. TheHMD of claim 1, wherein execution of the computer-executableinstructions further causes the HMD to: based on the pose, calculate apredicted second pose of the remote magnetic field transceiver; andbased on the predicted second pose, calculate an adjusted transmissionstrength for the magnetic field signal.
 4. The HMD of claim 1, whereinexecution of the computer-executable instructions further causes the HMDto: identify a movement of the HMD; based on the movement of the HMD,calculate a projected distance between the HMD and the remote magneticfield transceiver; and based on the projected distance, calculate atransmission strength for the magnetic field signal.
 5. The HMD of claim4, wherein execution of the computer-executable instructions furthercauses the HMD to: based on continued movement of the HMD, calculate anadjustment rate at which the transmission strength of the magnetic fieldis adjusted in response to the continued movement of the HMD.
 6. The HMDof claim 4, wherein the HMD includes an inertial measurement unit (IMU),and wherein the HMD identifies the movement using data generated by theIMU.
 7. The HMD of claim 1, wherein the pose of the remote magneticfield transceiver is determined based on a near field fall offrelationship of the magnetic field signal.
 8. The HMD of claim 1,wherein the remote magnetic field transceiver is disposed in a handheldcontroller.
 9. The HMD of claim 1, wherein the pose of the remotemagnetic field transceiver is determined based on a measuredcharacteristic of the magnetic field signal.
 10. The HMD of claim 1,wherein execution of the computer-executable instructions further causesthe HMD to: during a transition phase from a first transmission strengthto a second transmission strength, receive, from the remote magneticfield transceiver, a set of transmission strengths being emitted by themagnetic field transceiver of the HMD; and based on the set oftransmission strengths, compute the pose.
 11. A method for enabling ahead-mounted device to determine a pose of a remote magnetic fieldtransceiver via use of one or more determined characteristic(s) of amagnetic field signal that is transmitted between the HMD and the remotemagnetic field transceiver, said method comprising: causing a magneticfield transceiver of a head-mounted device (HMD) to transmit a magneticfield signal to a remote magnetic field transceiver; receiving, from theremote magnetic field transceiver, a response to the magnetic fieldsignal; and based on the received response, computing a pose of theremote magnetic field transceiver with respect to the HMD.
 12. Themethod of claim 11, further comprising: identifying magnetic noiseassociated with the transmitted magnetic field signal; and based on themagnetic noise, calculating a transmission strength for the magneticfield signal.
 13. The method of claim 11, further comprising: based onthe pose, calculating a predicted second pose of the remote magneticfield transceiver; and based on the predicted second pose, calculatingan adjusted transmission strength for the magnetic field signal.
 14. Themethod of claim 11, further comprising: identifying a movement of theHMD; based on the identified movement, calculating a projected distancebetween the HMD and the remote magnetic field transceiver.
 15. Themethod of claim 14, further comprising: calculating a transmissionstrength of the magnetic field.
 16. The method of claim 14, wherein theHMD comprises a first inertial measurement unit (IMU) and the remotemagnetic field transceiver comprises a second IMU.
 17. The method ofclaim 11, wherein the pose of the remote magnetic field transceiver isdetermined based on a combination of camera image data and the receivedresponse.
 18. The method of claim 11, wherein the remote magnetic fieldtransceiver is disposed within a handheld controller.
 19. The method ofclaim 11, wherein the pose of the remote magnetic field transceiver isdetermined based on (i) camera image data, (ii) a measuredcharacteristic of the magnetic field signal, and (iii) a near field falloff relationship of the magnetic field signal.
 20. A computer systemcomprising: a magnetic field transceiver; a processor; and acomputer-readable hardware storage device having stored thereoncomputer-executable instructions that are executable by the processor tocause the computer system to: cause the magnetic field transceiver totransmit a magnetic field signal to a remote magnetic field transceiver;receive, from the remote magnetic field transceiver, a response to themagnetic field signal; and based on the received response, compute apose of the remote magnetic field transceiver with respect to thecomputer system.